/*
 * Copyright (C), 2002-2017, roy 学习代码
 * FileName: TableController.java
 * Author:   roy
 * Date:     2017年1月4日 下午7:36:49
 * Description: //模块目的、功能描述      
 * History: //修改记录
 * <author>      <time>      <version>    <desc>
 * 修改人姓名             修改时间            版本号                  描述
 */
package com.roy.roycodegenerator.controller.sqlgenerator;

import java.util.HashMap;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import com.roy.roycodegenerator.common.sql.SqlParserTools;
import com.roy.roycodegenerator.controller.sqlgenerator.vo.SqlGeneratorVo;
import com.roy.roycodegenerator.service.generator.SqlGeneratorService;
import com.roy.roycodegenerator.service.generator.dto.TableDto;

import net.sf.jsqlparser.JSQLParserException;

/**
 * 数据表的操作<br>
 * 〈功能详细描述〉
 *
 * @author roy
 * @see [相关类/方法]（可选）
 * @since [产品/模块版本] （可选）
 */
@Controller
@RequestMapping("/generator/table/")
public class TableGeneratorController {
    @Autowired
    SqlGeneratorService sqlGeneratorService;

    @RequestMapping("main.do")
    public ModelAndView createTable() {
        ModelAndView mv = new ModelAndView();
        mv.setViewName("generator/sql/main");
        return mv;
    }

    @RequestMapping("process.do")
    public ModelAndView process(SqlGeneratorVo sqlGeneratorVo) throws JSQLParserException {
        ModelAndView mv = new ModelAndView();
        // 检查是否是表创建语句
        if (null == sqlGeneratorVo || null == sqlGeneratorVo.getPackagePath() || null == sqlGeneratorVo.getSql()
                || null == sqlGeneratorVo.getSqlType() || "".equals(sqlGeneratorVo.getPackagePath())
                || "".equals(sqlGeneratorVo.getSql())) {
            mv.setViewName("generator/sql/main");
            return mv;
        }
        // 检查sql语句是否与相应的类型匹配

     
        sqlGeneratorService.createTableGeneratorJava(sqlGeneratorVo);
       

        mv.setViewName("generator/sql/main");
        return mv;
    }

    @RequestMapping("queryTable.do")
    public Map<String, Object> queryTable() {
        Map<String, Object> map = new HashMap<String, Object>();

        return map;
    }

}
